package com.tencent.iov.cowin.befsale.clue.service.cus;

import com.tencent.iov.cowin.befsale.clue.domain.cus.po.CustomerExt;
import com.software.boot.common.model.dao.PageRequest;
import com.software.boot.common.model.dao.PageResponse;

import java.util.List;

/**
 * @Describe: 售前成员字典值扩展表_Service接口层
 * @author: xiamu
 * @created: 2021-12-29 10:33:50
 * @version: 1.0
 */

public interface CustomerExtService {

	/**
	 * 通过ID获取详细信息
	 *
	 * @param: id
	 * @return: CustomerExt对象
	 */
	CustomerExt getDetailById(Long id);

	/**
	 * 单条数据插入CustomerExt
	 * @param request
	 * @return 插入的条数
	 */
	int insert(CustomerExt request);

	/**
	 * 批量插入CustomerExt
	 * @param requests
	 * @return 批量插入的条数
	 */
    int insertBatch(List<CustomerExt> requests);

	/**
	 * 单条CustomerExt更新
	 * @param request
	 * @return 更新的条数
	 */
    int update(CustomerExt request);

	/**
	 * 通过ID删除数据
	 * @param request
	 * @return 删除的条数
	 */
    int delete(CustomerExt request);

	/**
	 * 根据条件查询对象list列表
	 * @param request
	 * @return 查询结果
	 */
    List<CustomerExt> getListByParam(CustomerExt request);

	/**
	 * 根据条件查询对象Page记录
	 * @param request
	 * @return 查询结果
	 */
	PageResponse<CustomerExt> getPageByParam(PageRequest<CustomerExt> request);

	/**
	 * 根据条件查询单个对象
	 * @param request
	 * @return
	 */
	CustomerExt getOneByParam(CustomerExt request);

	/**
	 * 保存或者更新客户扩展信息
	 * @param customerExt 参数
 	 * @return 插入或者更新主键ID
	 */
	Long insertOrUpdateCustomerExt(CustomerExt customerExt);
}